Virtual leased line address resolution protocol cache for customer edge internet protocol addresses

ABSTRACT

Various exemplary embodiments relate to a provider edge node and a method performed on the node including one or more of the following: storing, in a cache on the node, an association between an Internet Protocol (IP) address of the customer edge device and a Media Access Control (MAC) address of the customer edge device; storing, in a backup memory in the node, a copy of the last-known IP address of the customer edge device; removing the stored association from the cache in response to a cache-clearing event, while maintaining the copy of the last-known IP address in the backup memory; sending an address discovery message, the address discovery message requesting an updated MAC address corresponding to the last-known IP address maintained in the backup memory; and updating the cache to reflect the updated MAC address upon receipt of an additional address update message from the customer edge device.

TECHNICAL FIELD

Embodiments disclosed herein relate generally to implementation ofVirtual Leased Line services and, more particularly, to minimizingservice interruptions in a provider edge node supporting such services.

BACKGROUND

Modern data communication networks play a critical role in everydayinterpersonal interactions. In particular, the global nature of datacommunication networks allows instantaneous communication with anyone,anywhere in the world. Given these benefits, it is not surprising thatsome experts estimate that traffic on the world's networks will continueto double every two years.

As these networks have expanded, customers of data communicationsservice providers have increased their expectations. For example, manycorporations have a number of geographically-scattered local networks,yet desire seamless communication between each of the networks. As asimilar example, many businesses desire to link voice traffic betweenindividual sites.

Formerly, guaranteeing a high quality of service for such arrangementsrequired the customer to lease a separate line for use in transportingdata belonging to Layer 2 of the Open Systems Interconnection (OSI)model. Though reliable and effective in meeting the customers' needs,the use of such leased lines proved to be an expensive solution.

Given the worldwide reach of Internet Protocol (IP) networks, serviceproviders saw an opportunity to capitalize on the existing IPinfrastructure. In particular, to address the demand for transparenttransport of data from one site to another, service providers developedso-called Virtual Leased Line (VLL) services. VLL services are alsoknown as Virtual Private Wire Services (VPWS). Using VLL services, aservice provider may seamlessly transfer a customer's Layer 2 traffic(e.g., Ethernet, Asynchronous Transfer Mode (ATM), and Frame Relay) overan IP network.

In a typical VLL arrangement, a customer desires to transmit data from alocal customer edge device to a remotely-located, far-end customer edgedevice. To facilitate this arrangement, the service provider implementstwo provider edge nodes, one on each side of an IP network between thecustomer edge devices. To exchange data between the customer edgedevices, the customer need only connect each customer edge device to acorresponding provider edge node. The provider edge nodes, in turn,encapsulate the Layer 2 data, forward the Layer 3 data to one anotherover an IP pseudowire, then transmit the Layer 2 data to the Layer 2address of the destination customer edge device.

It should be apparent from this description that, in order to properlyforward data to the destination customer edge device, the connectedprovider edge node must be aware of the IP address and Media AccessControl (MAC) address of the customer edge device. To avoid thetime-consuming process of manually specifying each address, many serviceproviders implement an automatic discovery process in which eachcustomer edge device informs the provider edge node of its IP addressand MAC address. In some situations, such as failure of the provideredge link, however, the provider edge node will remove or otherwise losethe IP to MAC address mappings. Furthermore, the customer edge devicemay be unaware of the problem when it is connected over a Layer 2 switchand, in such a circumstance, will not send an additional messagenotifying the provider edge node of its addresses.

In view of the foregoing, it would be desirable to implement a provideredge node that allows for automatic discovery of IP and MAC addresses,while providing a mechanism to maintain updated MAC address to IPaddress associations of connected customer edge devices, even in theevent of failure of the provider edge node. Other desirable aspects willbe apparent to those of skill in the art upon reading and understandingthe present specification.

SUMMARY

In light of the present need for a provider edge node that maintainsupdated MAC address to IP address associations of connected customeredge devices, a brief summary of various exemplary embodiments ispresented. Some simplifications and omissions may be made in thefollowing summary, which is intended to highlight and introduce someaspects of the various exemplary embodiments, but not to limit the scopeof the invention. Detailed descriptions of a preferred exemplaryembodiment adequate to allow those of ordinary skill in the art to makeand use the inventive concepts will follow in later sections.

Various exemplary embodiments relate to a provider edge node and amethod performed on the provider edge node. The provider edge node maymaintain a cache including an association between an Internet Protocol(IP) address of a customer edge device and a Media Access Control (MAC)address of the customer edge device. The provider edge node may alsomaintain a backup memory storing a copy of a last-known IP address ofthe customer edge device.

In response to a cache-clearing event, the node may remove the storedassociation from the cache, while maintaining the copy of the IP addressin the backup memory. Then, at a time subsequent to removal of thestored association from the cache, the node may send an addressdiscovery message requesting an updated MAC address corresponding to thelast-known IP address maintained in the backup memory. Finally, theprovider edge node may update the cache to reflect the updated MACaddress upon receipt of an additional address update message from thecustomer edge device, then resume transmission of data packets to theMAC address of the customer edge device included in the additionaladdress update message.

It should be apparent that, in this manner, various exemplaryembodiments allow a provider edge node to maintain an updated IP to MACaddress mapping, thereby minimizing delays in restoring service. Bymaintaining a backup memory including the last-known IP address of acustomer edge device, a provider edge node may quickly resume serviceafter an event requiring that its cache be cleared. More specifically,the provider edge node may send an address discovery message to thelast-known IP address of the customer edge device without waiting for anaddress update message or increasing the rate of such messages fromcustomer edge devices. Such an arrangement minimizes delays in restoringservice, while avoiding an unnecessary increase in traffic due to morefrequent messaging.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to facilitate better understanding of various exemplaryembodiments, reference is made to the accompanying drawings, wherein:

FIG. 1 is a schematic diagram of an exemplary network including provideredge nodes configured to implement virtual leased line services;

FIG. 2 is a schematic diagram illustrating the components of anexemplary provider edge node for use in the network of FIG. 1;

FIG. 3 is a table of an exemplary data arrangement used to maintain amapping between IP and MAC addresses of customer edge devices;

FIG. 4 is a table of an exemplary data arrangement used to maintain abackup copy of IP addresses of customer edge devices; and

FIG. 5 is a flowchart of an exemplary method of maintaining updatedaddresses of customer edge devices on a provider edge node.

DETAILED DESCRIPTION

Referring now to the drawings, in which like numerals refer to likecomponents or steps, there are disclosed broad aspects of variousexemplary embodiments.

FIG. 1 is a schematic diagram of an exemplary network 100 includingprovider edge nodes 120, 150 configured to implement virtual leased lineservices. In various exemplary embodiments, network 100 includescustomer edge (CE) device A 110, provider edge (PE) node A 120, InternetProtocol/Multiprotocol Label Switching (IP/MPLS) network 130, pseudowire140, PE node B 150, intermediate network device 160, CE device B 170, CEdevice C 180, CE device D 190, attachment circuits 115, 155, 185, 195,and link 165.

CE devices 110, 170, 180, 190 may be equipment operated by customers ofa service provider. Thus, the CE devices may be router's devices whichmay be, for example, personal computers, set-top boxes, Voice-over-IP(VoIP) systems, and the like. Alternatively, the CE devices may benetwork nodes, such as routers, switches, and similar devices. It shouldbe apparent that the customer edge devices may be any devices for whichtransmission of Layer 2 data over a Layer 3 infrastructure is desired.

CE devices 110, 170, 180, 190 may each be connected to a correspondingPE node by means of an attachment circuit. Each attachment circuit mayoperate according to a Layer 2 protocol, including, for example,Ethernet, Frame Relay, ATM, and the like. As illustrated, CE device A110 is directly connected to PE node A 120 through attachment circuit115. CE device B 170 is connected to PE node B 150 indirectly throughintermediate device 160. In particular, PE node B 150 is connected tointermediate device 160 through attachment circuit 155, whileintermediate device 160 is connected to CE device B 170 through link165. Finally, CE device C 180 is connected to PE node B 150 throughattachment circuit 185, while CE device D 190 is connected to PE node B150 through attachment circuit 195.

PE nodes 120, 150 may be network nodes configured to forward databetween customer edge devices using IP/MPLS network 130. Thus PE nodes120, 150 may be routers, switches, or similar hardware devicesconfigured to forward data packets and frames.

As described in further detail below with reference to FIGS. 2-4, eachPE node 120, 150 may maintain a cache containing the IP and MACaddresses of each connected customer edge device. For example, PE node A120 may maintain a cache with the IP and MAC addresses of CE device A110. Similarly, PE node B 150 may maintain a cache with the IP and MACaddresses of CE devices 170, 180, 190. Furthermore, as also described indetail below, each node 120, 150 may maintain a backup memory with acopy of each IP address of the serviced CE devices. IP/MPLS network 130may provide a connection between PE node A 120 and PE node B 150.Network 130 may be any network capable of sending data and requestsbetween PE node A 120 and PE node B 150. Accordingly, network 130 maycomprise a plurality of routers, switches, bridges, and other componentssuitable for receiving and forwarding data packets.

Pseudowire 140 traverses IP/MPLS network 130 and provides IPconnectivity between CE device A 110 and CE device B 170. In particular,pseudowire 140 may comprise one or more hops over IP/MPLS network 130,such that the data packets transmitted by PE node A 120 reach PE Node B150. Thus, pseudowire 140 emulates a point-to-point link and provides asingle service that is perceived by the customer to be an unshared linkor circuit of the corresponding Layer 2 service.

It should be apparent that, in FIG. 1, a single pseudowire 140 isillustrated for the sake of simplicity. As will be apparent to those ofskill in the art, multiple pseudowires 140 may traverse IP/MPLS network,with each pseudowire 140 corresponding to a particular VLL service.

Having described the components of network 100, a brief summary of theoperation of network 100 will be provided. It should be apparent thatthe following description is intended to provide an overview of theoperation of network 100 and PE node B 150 and is therefore asimplification in some respects. The detailed operation of node 150 willbe described in further detail below in connection with FIGS. 2-5.

During normal operation, PE node A 120 receives a number of Layer 2frames carrying IP datagrams as the payload from CE device A 110 overattachment circuit 115. PE node A 120 may then identify the appropriatepseudowire, remove the data link header from the frames, and send theexposed IP packet across the appropriate pseudowire to PE node B 150.Upon receipt of the IP packet from PE node A 120, PE node B 150 maydetermine the destination MAC address corresponding to the destinationaddress of the IP packet, then forward a Layer 2 frame to the outgoingMAC address.

In this manner, PE nodes 120, 150 may interact to provide an IP VLLservice, such that CE device A 110 and CE device B 170 may exchangedata, even when attachment circuits 115, 165 operate according todifferent Layer 2 protocols. As will be apparent to those of skill inthe art, PE node B 150 may similarly forward packets locally between CEdevice C 180 and CE device D 190. These processes are equally applicableto IPv4 and IPv6 packets. Further details are provided in the draft,“ARP Mediation for IP Interworking of Layer 2 VPN,” published inFebruary 2009 by the L2VPN Working Group of the Internet EngineeringTask Force, which is hereby incorporated by reference in its entirety.

In order to properly forward Layer 2 frames from PE node B 150 to CEdevice B 170, PE node B 150 maintains a mapping between the IP addressof CE device B 170 and the MAC address of CE device B 170. In variousexemplary embodiments, as described in further detail below withreference to FIG. 2, PE node B 150 maintains this mapping in an internalcache.

In order to populate this cache, PE node B 150 may implement a customeredge discovery feature, thereby eliminating the need for manualconfiguration of the IP and MAC addresses of the customer edge devices.More specifically, CE devices 170, 180, 190 may periodically sendaddress update messages including their respective IP and MAC addresses.The address update messages may be, for example, Address ResolutionProtocol (ARP) replies in IPv4 networks and Neighbor Discoveryadvertisements in IPv6 networks. Upon receipt of these messages, PE nodeB 150 may update the cache to reflect the current values of the IP andMAC addresses of the corresponding customer edge device.

Similarly, CE device B 170 may send an address discovery message to PEnode B 150, requesting the MAC address corresponding to the IP addressof CE device A 110 or a device located in a network coupled to CE deviceA 110. The address discovery message may be, for example, an ARP requestin IPv4 networks or a Neighbor Discovery solicitation in IPv6 networks.Upon receipt of an address discovery message, PE node B 150 may createan entry in its cache for the IP address and MAC address of the devicethat sent the discovery message, then generate and send a reply,including the IP address and MAC address of the corresponding attachmentcircuit on PE node B 150. CE device B 170 may update its own cache basedon the reply, thereby enabling CE device B 170 to send IP packets to CEdevice A 110 or a device in the network of CE device A 110 through PEnode B 170.

In some circumstances, a cache-clearing event may occur, necessitatingthat PE node B 150 flush at least a portion of its cache. For example,should an attachment circuit or the corresponding port on PE node B 150fail, PE node B 150 may clear the cache entries corresponding to thefailure. This action may be necessary, as PE node B 150 may no longertrust that the stored addresses are accurate after an interruption incommunication. As another example, a network operator may explicitlyorder that one or more cache entries be removed by providing a commandto PE node B 150.

When a cache-clearing event occurs and the entry is removed from thecache, PE node B 150 will be temporarily unable to forward unicastpackets to the CE device connected to the corresponding attachmentcircuit (e.g., CE device B 170), as PE node B 150 will no longer knowthe MAC address of the CE device. During the time period when PE node B150 is unaware of the MAC address of CE device B 170, PE node B 150 mayonly be able to forward multicast and broadcast packets. Whenrestoration of service is desired (e.g., after reboot, restoration ofthe link/port, receipt of a command, etc.), PE node B 150 will need tolearn the MAC address of the CE device.

Such a cache-clearing event may especially pose a problem when theoutgoing port on which the attachment circuit is configured is connectedto the locally-attached CE device through an intermediate networkdevice, such as an Ethernet switch that does not support Operations,Administration, and Management (OAM) messaging. In such a situation, theCE device may be unaware of a fault on PE node B 150, such that the CEdevice does not send an address update message until its time-out periodexpires. The CE device may similarly fail to learn of the cache-clearingevent if OAM is not supported on PE node B 150 or the CE device itself,or if OAM is disabled for the particular attachment circuit, for the CEdevice, or for PE node B 150.

Thus, in current implementations, PE node B 150 may be required to waitfor the next address update message from the CE device, which istypically sent infrequently. For example, ARP or Neighbor Discoverymessages may be sent by a CE device in the order of tens of minutes.Furthermore, because the CE device is operated by a customer, theservice provider will often be unable to modify the timeout period ofthe CE device. Reducing the timeout period is also an undesirablesolution, as it can greatly increase the amount of traffic andprocessing required to account for more frequent messages.

To address this problem, PE node B 150 may maintain, in a backup memory,a persistent copy of the last-known IP address of the CE deviceconfigured on the attachment circuit. Because this copy of the IPaddress is persistent, it will be maintained even when the cache iscleared.

When an updated MAC address is required for the CE device (e.g., uponrestoration of the attachment circuit), PE node B 150 may retrieve thelast-known IP address of the CE device and generate an address discoverymessage requesting the MAC address corresponding to that IP address. PEnode B 150 may then send the message over the attachment circuit towardthe CE device. Provided that the CE device is still configured with thesame IP address, the CE device will respond with an additional addressupdate message including its MAC address. PE node B 150 may, in turn,update its cache and resume forwarding all packets to the CE device.

FIG. 2 is a schematic diagram illustrating the components of anexemplary provider edge node 200 for use in network 100 of FIG. 1. Node200 may correspond, for example, to PE nodes 120, 150 of network 100.Node 200 may include communication interface 210, cache 220, backupmemory 230, and processor 240.

Communication interface 210 may include hardware and/or executableinstructions encoded on a machine-readable storage medium configured toreceive and transmit frames and packets over a data communicationnetwork. More specifically, communication interface 210 may beconfigured to transmit and receive IP packets over an IP network, suchas IP/MPLS network 130. Communication interface 210 may be furtherconfigured to transmit and receive Layer 2 frames using one or moreLayer 2 protocols, such as Ethernet, ATM, and Frame Relay. It should beapparent that, although illustrated as a single box, the functionalityof communication interface 210 may be divided into multiple components,such that the operations of receiving and transmitting frames andpackets are performed by separate components.

Cache 220 may be a machine-readable storage medium that maintains anassociation between an IP address of a customer edge device and acorresponding MAC address of the customer edge device. Cache 220 maystore a separate entry comprising an IP address of a customer edgedevice and a corresponding MAC address for each attachment circuitconfigured to provide a VLL service. Alternatively, a separate cache 220may be used for each attachment circuit. It should be apparent, however,that any arrangement may be used for cache 220, provided that the cacheidentifies a customer edge device IP and MAC address for each attachmentcircuit.

Backup memory 230 may be a machine-readable storage medium thatmaintains a copy of the last-known IP address of a customer edge devicefor each attachment circuit configured to provide a VLL service. Backupmemory 230 may comprise any type of memory, provided that the last-knownIP address remains intact even when one or more values in cache 220 arecleared. It should be apparent that, although illustrated as separatefrom cache 220, backup memory 230 may be part of the same memory ascache 220, provided that the last-known IP addresses are saved when thecache is cleared.

Processor 240 may be a conventional microprocessor, a Field ProgrammableGate Array (FPGA), or any other component configured to execute a seriesof instructions to perform any operations necessary for thefunctionality of provider edge node 200. In particular, processor 240may implement the functionality required to update cache 220 and backupmemory 230, generate address discovery messages, and process packets andframes. This functionality is described in further detail below withreference to FIG. 5. Other suitable functionality for execution byprocessor 240 will be apparent to those of skill in the art.

FIG. 3 is a table of an exemplary data arrangement 300 used to maintaina mapping between IP and MAC addresses of customer edge devices. Dataarrangement 300 may be stored in cache 220 and may be, for example, atable. Alternatively, data arrangement 300 could be a series of linkedlists, a binary tree, an array, or a similar data structure. Thus, itshould be apparent that data arrangement 300 is an abstraction of theunderlying data; any data structure suitable for storage of this datamay be used.

Data arrangement 300 may include two sets of data: an IP address field310 and a MAC address field 320. Other fields suitable for inclusion indata arrangement 300 will be apparent to those of skill in the art. Forexample, data arrangement 300 may also include a field identifying theVLL attachment circuit on which the corresponding customer edge deviceis configured.

IP address field 310 may indicate the IP address of a customer edgedevice coupled to the provider edge node on which data arrangement 300is stored. Similarly, MAC address field 320 may indicate the MAC addressof the customer edge device corresponding to the IP address.

As an example, suppose that data arrangement 300 is maintained in acache 220 of PE node B 150 of FIG. 1. Entry 330 indicates that the IPaddress of CE device B 170 is 69.192.3.82, while entry 360 indicatesthat the corresponding MAC address of CE device B 170 is00:D0:F6:10:E3:00. Similarly, entry 340 indicates that the IP address ofCE device C 180 is 135.245.1.1, while entry 370 indicates that thecorresponding MAC address of CE device C 180 is 00:E0:B1:FF:AE:10.Finally, entry 350 indicates that the IP address of CE device D 190 is135.245.68.2, while entry 380 indicates that the corresponding MACaddress of CE device D 190 is 00:E0:B1:A0:26:9 E.

FIG. 4 is a table of an exemplary data arrangement 400 used to maintaina backup copy of IP addresses of customer edge devices. Data arrangement400 may be stored in backup memory 230 and may be, for example, a table.Alternatively, data arrangement 400 could be a series of linked lists, abinary tree, an array, or a similar data structure. Thus, it should beapparent that data arrangement 400 is an abstraction of the underlyingdata; any data structure suitable for storage of this data may be used.

Data arrangement 400 may include one field, IP address field 410. IPaddress field 410 may indicate a last-known IP address of a customeredge device for which a VLL service is provided by the node on whichdata arrangement 400 is maintained. As with data arrangement 300, dataarrangement 400 may also include a field identifying the attachmentcircuit on which the corresponding customer edge device is configured.

As an example, suppose that data arrangement 400 is maintained in abackup memory 230 of PE node B 150 of FIG. 1. Entry 430 indicates thatthe last-known IP address of CE device B 170 is 69.192.3.82. Similarly,entry 440 indicates that the last-known IP address of CE device C 180 is135.245.1.1. Finally, entry 450 indicates that the last-known IP addressof CE device D 190 is 135.245.68.2.

FIG. 5 is a flowchart of an exemplary method 500 of maintaining updatedaddresses of customer edge devices on a provider edge node. Method 500may be performed by, for example, a processor 240 included in provideredge node B 150 of network 100. Although the steps shown in FIG. 5 aredescribed as performed by node 150, other suitable components or systemsfor execution of method 500 will be apparent to those of skill in theart.

Method 500 starts in step 505 and proceeds to step 510, where node 150receives an address update message from a customer endpoint. Forexample, node 150 may receive an ARP or Neighbor Discovery messagespecifying the IP address and corresponding MAC address of a customeredge device that accesses a VLL service provided on node 150.

Method 500 then proceeds to step 520, where node 150 stores the valuesof the IP address and MAC address of the customer endpoint. As anexample, node 150 may store both the IP address and MAC address in cache220, while storing only the IP address in backup memory 230.

Because node 150 is now aware of both the IP address and MAC address ofthe corresponding customer endpoint, method 500 proceeds to step 530,where node 150 begins sending data frames to the MAC address of thecustomer endpoint. More specifically, node 150 may receive IP datapackets transmitted over pseudowire 140, determine the MAC addresscorresponding to the destination IP address of the packets, then forwardthe Layer 2 frames to the outgoing MAC address.

In response to a cache-clearing event, method 500 proceeds to step 540,where node 150 clears at least one entry from its cache 220. Asdescribed in further detail above, the cache-clearing event maycorrespond to a failure on node 150 or may be a command from the user.Other events necessitating removal of entries from cache 220 will beapparent to those of skill in the art.

When a cache-clearing event occurs and the entry is removed from thecache, PE node B 150 will be temporarily unable to forward unicastpackets to the CE device. When restoration of service is desired (e.g.,after reboot, restoration of the link/port, receipt of a command, etc.),method 500 proceeds to step 550, where steps are taken to restore VLLservice to the CE device.

In particular, in step 560, node 150 retrieves the last-known IP addressof the CE device from backup memory 230 and generates an addressdiscovery message requesting the MAC address corresponding to that IPaddress. Node 150 may set the source IP address of the discovery messageto the IP address of the far-end CE device connected through pseudowire140, which, in this case, is CE device A 110.

Alternatively, in some situations, node 150 may not know the IP addressof the far-end device. For example, if the far-end attachment circuitoperates according to ATM or Frame Relay and inverse ARP is not enabled,node 150 may not be aware of the far-end IP address. In thesesituations, node 150 may set the source IP address of the discoverymessage to a dummy value (e.g., 0.0.0.0). Whether it uses a dummy valueor an actual IP address, node 150 may then send the discovery message toa broadcast MAC address (e.g., FF:FF:FF:FF:FF:FF), requesting the MACaddress corresponding to the last-known IP address of the CE device.

Provided that the CE device is still configured with the same IPaddress, the CE device will respond with an additional address updatemessage including its MAC address. Method 500 then proceeds to step 570,where PE node B 150 may receive and process the response from the CEdevice, update its cache based on the response, and resume forwarding ofall packets to the CE device. Finally, method 500 proceeds to step 575,where method 500 stops.

As an example of the operation of the various exemplary embodiments,with reference to FIGS. 1-5, assume that CE device A 110 desires to sendLayer 2 frames to CE device B 170. PE node A 120 and PE node B 150 mayfirst be configured based on address update messages received from CEdevice A 110 and CE device B 170, respectively. In particular, PE node A120 may maintain a cache storing the IP and MAC addresses of CE device A110, while PE node B 150 may maintain a cache storing the IP and MACaddresses of CE device B 170.

When CE device A 110 seeks to transmit Layer 2 frames to CE device B170, device 110 may simply transmit the frames to the attachment circuitconfigured on PE node A 120. The payload of the frames may include adestination set to the IP address of CE device B 170 (69.192.3.82).Alternatively, CE device A 110 may set the IP address to some otheraddress, provided that PE node A 120 may perform a lookup to determinethe IP address of CE device B 170.

Upon receipt of the frames, PE node A 120 may then remove the data linkheader from the frames, and send the exposed IP packet across pseudowire140. Upon receipt of the IP packet containing a destination address of69.192.3.82, PE node B 150 may look up the corresponding MAC address inits cache 220, and send the Layer 2 frame to the resulting address,00:D0:F6:10:E3:00.

Should the cache entry corresponding to CE device B 170 in cache 220 ofPE node B 150 be cleared, PE node B 150 may quickly determine the MACaddress when restoration of service is required. In particular, PE nodeB 150 may read the saved IP address of CE device B 170 from backupmemory 230, then send an address discovery message (e.g., an ARP requestor Neighbor Discovery solicitation) requesting the MAC addresscorresponding to the saved IP (69.192.3.82). Assuming CE device B 170has maintained the same IP address, PE node B 150 will receive aresponse from CE device B 170, and may then resume forwarding of Layer 2frames.

According to the foregoing, various exemplary embodiments provide anumber of benefits. In particular, by maintaining a backup memoryincluding the last-known IP address of a customer edge device, aprovider edge node may quickly resume service after an event requiringthat its cache be cleared. In particular, the provider edge node maysend an address discovery message to the last known IP address of thecustomer edge device without waiting for an address update message orincreasing the rate of such messages. Such an arrangement minimizesdelays in restoring service, while avoiding an increase in the number ofmessages that must be processed and exchanged.

It should be apparent from the foregoing description that variousexemplary embodiments of the invention may be implemented in hardwareand/or firmware. Furthermore, various exemplary embodiments may beimplemented as instructions stored on a machine-readable storage medium,which may be read and executed by at least one processor to perform theoperations described in detail herein. A machine-readable storage mediummay include any mechanism for storing information in a form readable bya machine, such as a network node (e.g., router or switch). Thus, amachine-readable storage medium may include read-only memory (ROM),random-access memory (RAM), magnetic disk storage media, optical storagemedia, flash-memory devices, and similar storage media.

Although the various exemplary embodiments have been described in detailwith particular reference to certain exemplary aspects thereof, itshould be understood that the invention is capable of other embodimentsand its details are capable of modifications in various obviousrespects. As is readily apparent to those skilled in the art, variationsand modifications may be implemented while remaining within the spiritand scope of the invention. Accordingly, the foregoing disclosure,description, and figures are for illustrative purposes only and do notin any way limit the invention, which is defined only by the claims.

1. A provider edge node for allowing a customer edge device to access aVirtual Leased Line (VLL) service, the provider edge node comprising: acache that stores an association between an Internet Protocol (IP)address of the customer edge device and a Media Access Control (MAC)address of the customer edge device; a backup memory that maintains acopy of a last-known IP address of the customer edge device; acommunication interface that transmits data packets to the MAC addressof the customer edge device; and a processor configured to: update thecache upon receipt of an address update message from the customer edgedevice, the address update message indicating the IP address and the MACaddress of the customer edge device, remove the stored association fromthe cache in response to a cache-clearing event, while maintaining thecopy of the last-known IP address in the backup memory, wherein thecache-clearing event temporarily interrupts connectivity to the customeredge device, at a time subsequent to removal of the stored associationfrom the cache, send an address discovery message using thecommunication interface, the address discovery message requesting anupdated MAC address corresponding to the last-known IP addressmaintained in the backup memory, and update the cache to reflect theupdated MAC address upon receipt of an additional address update messagefrom the customer edge device.
 2. The provider edge node of claim 1,wherein the communication interface transmits data packets to thecustomer edge device through an intermediate network device that isunable to notify the customer edge device of faults resulting in thecache-clearing event.
 3. The provider edge node of claim 2, wherein theintermediate network device is an Ethernet switch for which EthernetOperations, Administration, and Management (OAM) fault messaging isdisabled or not supported.
 4. The provider edge node of claim 1, whereinOAM fault messaging is disabled or not supported on at least one of theprovider edge node, the customer edge device, and an attachment circuitconfigured on the provider edge node to provide the VLL service, suchthat the customer edge device is unaware of faults resulting in thecache-clearing event.
 5. The provider edge node of claim 1, wherein theaddress update message and the additional address update message areAddress Resolution Protocol (ARP) replies and the address discoverymessage is an ARP request.
 6. The provider edge node of claim 1, whereinthe address update message and the additional address update message areNeighbor Discovery advertisements and the address discovery message is aNeighbor Discovery solicitation.
 7. The provider edge node of claim 1,wherein the cache-clearing event is a failure of an attachment circuitconfigured on the provider edge node to provide the VLL service to thecustomer edge device.
 8. The provider edge node of claim 1, wherein thecache-clearing event is a command from a network operator to clear thecache.
 9. The provider edge node of claim 1, wherein the processor setsa source IP address field of the address discovery message to a dummyvalue.
 10. The provider edge node of claim 9, wherein the dummy value is0.0.0.0.
 11. The provider edge node of claim 1, wherein the processorsets a source IP address field of the address discovery message to an IPaddress of a far-end customer edge device coupled to the customer edgedevice through a pseudowire.
 12. A method for allowing a customer edgedevice to access a Virtual Leased Line (VLL) service provided by aprovider edge node, the method comprising: storing, in a cache on theprovider edge node, an association between an Internet Protocol (IP)address of the customer edge device and a Media Access Control (MAC)address of the customer edge device, wherein the IP address and the MACaddress are included in an address update message received from thecustomer edge device; storing, in a backup memory in the provider edgenode, a copy of a last-known IP address of the customer edge device;removing the stored association from the cache in response to acache-clearing event, while maintaining the copy of the last-known IPaddress in the backup memory, wherein the cache-clearing eventtemporarily interrupts connectivity to the customer edge device; at atime subsequent to removal of the stored association from the cache,sending an address discovery message, the address discovery messagerequesting an updated MAC address corresponding to the last-known IPaddress maintained in the backup memory; updating the cache to reflectthe updated MAC address upon receipt of an additional address updatemessage from the customer edge device; and transmitting data packets tothe MAC address of the customer edge device included in the additionaladdress update message.
 13. The method of claim 12, wherein the provideredge node is coupled to the customer edge device through an intermediatenetwork device that is unable to notify the customer edge device offaults resulting in the cache-clearing event.
 14. The method of claim13, wherein the intermediate network device is an Ethernet switch forwhich Ethernet Operations, Administration, and Management (OAM) faultmessaging is disabled or not supported.
 15. The method of claim 12,wherein OAM fault messaging is disabled or not supported on at least oneof the provider edge node, the customer edge device, and an attachmentcircuit configured on the provider edge node to provide the VLL service,such that the customer edge device is unaware of faults resulting in thecache-clearing event.
 16. The method of claim 12, wherein the addressupdate message and the additional address update message are AddressResolution Protocol (ARP) replies and the address discovery message isan ARP request.
 17. The method of claim 12, wherein the address updatemessage and the additional address update message are Neighbor Discoveryadvertisements and the address discovery message is a Neighbor Discoverysolicitation.
 18. The method of claim 12, wherein the cache-clearingevent is a failure of an attachment circuit configured on the provideredge node to provide the VLL service to the customer edge device. 19.The method of claim 12, wherein the cache-clearing event is a commandfrom a network operator to clear the cache.
 20. The method of claim 12,wherein a source IP address field of the address discovery message isset to a dummy value.
 21. The method of claim 20, wherein the dummyvalue is 0.0.0.0.
 22. The method of claim 12, wherein a source IPaddress field of the address discovery message is set to an IP addressof a far-end customer edge device coupled to the customer edge devicethrough a pseudowire.